package cn.fntop.constant;

/**
 * 租户常量
 */
public interface TenantConstants {

    /**
     * 默认请求头字段key
     */
    String TENANT_ID = "TENANT_ID";

    /**
     * 租户ID,默认为1
     */
    Integer TENANT_ID_1 = 1;

    /**
     * 动态数据源配置
     */
    enum DS {
        DS1(1, "test1"),
        DS2(2, "test2"),
        ;
        private int tenantId;
        private String dsKey;

        DS(int tenantId, String dsKey) {
            this.tenantId = tenantId;
            this.dsKey = dsKey;
        }

        public int getTenantId() {
            return tenantId;
        }

        public String getDsKey() {
            return dsKey;
        }

        public String getDsKey(int tenantId) {
            DS[] values = DS.values();
            for (int i = 0; i < values.length; i++) {
                DS ds = values[i];
                if (ds.getTenantId() == tenantId) {
                    return ds.getDsKey();
                }
            }
            return null;
        }
    }

    /**
     * 租户正常状态
     */
    String NORMAL = "0";

    /**
     * 租户封禁状态
     */
    String DISABLE = "1";

    /**
     * 超级管理员ID
     */
    Long SUPER_ADMIN_ID = 1L;

    /**
     * 超级管理员角色 roleKey
     */
    String SUPER_ADMIN_ROLE_KEY = "superadmin";

    /**
     * 租户管理员角色 roleKey
     */
    String TENANT_ADMIN_ROLE_KEY = "admin";

    /**
     * 租户管理员角色名称
     */
    String TENANT_ADMIN_ROLE_NAME = "管理员";

    /**
     * 默认租户ID
     */
    String DEFAULT_TENANT_ID = "000000";
}
